<?php
//--------------------------------------------------------------------------------
// Função que valida o CPF
function validaCPF($cpf) {
    // Verifiva se o número digitado contém todos os digitos
    $cpf = str_pad(ereg_replace('[^0-9]', '', $cpf), 11, '0', STR_PAD_LEFT);

    // Verifica se nenhuma das sequências abaixo foi digitada, caso seja, retorna falso
    if (strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '11111111111' || $cpf == '22222222222'
            || $cpf == '33333333333' || $cpf == '44444444444' || $cpf == '55555555555' || $cpf == '66666666666'
            || $cpf == '77777777777' || $cpf == '88888888888' || $cpf == '99999999999') {
        return false;
    } else {
        // Calcula os números para verificar se o CPF é verdadeiro
        for ($t = 9; $t < 11; $t++) {
            for ($d = 0, $c = 0; $c < $t; $c++) {
                $d += $cpf{$c} * (($t + 1) - $c);
            }
            $d = ((10 * $d) % 11) % 10;
            if ($cpf{$c} != $d) {
                return false;
            }
        }
        return true;
    }
}

//------------------------------------------------------------------------------------
//funçao de validação de email
function validaEmail($email) {
    if (preg_match('/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/', $email))
        return true;
    else
        return false;
}

//------------------------------------------------------------------------------
//funcao de verificação de cpf Unico
function validaCpfUnico($cpf) {
    // Configurações do sistema
    require("configuracao/configurator.php");
    //inclusão das classes
    include_once($configurator["classes"] . "/usuario.classes.php");
    include_once($configurator["dao"] . "/usuarioDao.php");

    //instanciação dos objetos
    $_usuario = new UsuarioDao();

    if ($_usuario->verificaCpf($cpf))
        return true;
    else
        return false;
}

//-------------------------------------------------------------------------------
//função que monta um array para paginação dos registros
function montaPaginacao($totRegistros, $porPagina, $pagina) {
    $paginas = array();

    $totPaginas = ceil($totRegistros / $porPagina);

    if ($pagina > 1) {
        $paginas[] = array("url" => ($pagina - 1), "anterior" => 1, "ativo" => 0);
    } else {
        $paginas[] = array("url" => "", "anterior" => 1, "ativo" => 1);
    }
    if (($totPaginas - $pagina) > 2)
        $value = 2 + $pagina;
    else
        $value = $totPaginas;
    if (($pagina) > 1)
        $val = $pagina - 1;
    else
        $val = 1;
    if ($totPaginas > 0) {
        for ($i = $val; $i <= $value; $i++) {
            if ($pagina == $i)
                $paginas[] = array("url" => $i, "ativo" => 1, "item" => 1);
            else
                $paginas[] = array("url" => "$i", "ativo" => 0, "item" => 1);
        }
    }else {
        $paginas[] = array("url" => "1", "ativo" => 1);
    }

    if ($pagina < $totPaginas) {
        $paginas[] = array("url" => ($pagina + 1), "ativo" => 0, "proximo" => 1);
    } else {
        $paginas[] = array("url" => "", "ativo" => 1, "proximo" => 1);
    }

    return $paginas;
}

//------------------------------------------------------------------------------------
//função que monta um array para paginação dos registros
function montaPaginacaoProd($totRegistros, $porPagina, $pagina, $url, $url2, $url3) {
 // paginação
    $paginas = array();
    $totPaginas = ceil($totRegistros / $porPagina);

    if ($pagina > 1) {
        $paginas[] = array("url" => $url, "anterior" => 1, "ativo" => 0);
    } else {
        $paginas[] = array("url" => "", "anterior" => 1, "ativo" => 1);
    }
    if (($totPaginas - $pagina) > 6)
        $value = 6 + $pagina;
    else
        $value = $totPaginas;
    if (($pagina) > 5)
        $val = $pagina - 5;
    else
        $val = 1;
    if ($totPaginas > 0) {
        for ($i = $val; $i <= $value; $i++) {
            if ($pagina == $i)
                $paginas[] = array("url" => $i, "ativo" => 1, "item" => 1);
            else
                $paginas[] = array("url" => "<a href='$url2&pag=$i'>$i</a>", "ativo" => 0, "item" => 1);
        }
    }else {
        $paginas[] = array("url" => "1", "ativo" => 1);
    }

    if ($pagina < $totPaginas) {
        $paginas[] = array("url" => $url3, "ativo" => 0, "proximo" => 1);
    } else {
        $paginas[] = array("url" => "", "ativo" => 1, "proximo" => 1);
    }

    return $paginas;
}

?>
